const router = require('express').Router();
const itemModel = require('../model/collections/item');
const dayjs = require('dayjs');
// 商品列表页
router.get('/itemList', async (req, res) => {
  // 传递 page和pageSize
    let { page = 1,pageSize=2 } = req.query;
    // 讲page和pageSize变成数字 limit skip
    page = parseInt(page);
    pageSize = parseInt(pageSize);
    const items = await itemModel.find().limit(pageSize).skip((page-1)*pageSize).sort({_id: -1});
    const count = await itemModel.count();
    res.render('itemList', {
      items,
      count,
      page
    })
})
// 新增商品页
router.get('/itemAdd', (req, res) => {
  res.render('itemAdd')
})
// 修改商品页
router.get('/itemUpdate',async (req, res) => {
  // 根据传递 商品id 去商品商品 详情数据 给 页面去渲染
  const item = await itemModel.findById(req.query.id);
  res.render('itemUpdate', {
    item
  })
})
router.get('/setting', (req, res) => {
  res.render('setting')
})
// 新增商品路由
router.post('/itemAdd', (req, res) => {
  /* 
    名称
    价格
    库存
    描述
    封面图片地址 上传到服务器 图片的地址
    富文本内容
  */
  //  插入商品生成  一个 字符串 日期格式 上架时间
  const params = {
    ...req.body,
    createAt: dayjs().format('YYYY-MM-DD')
  }
  itemModel.insertMany(params).then(ret=> {
    res.send({
      code: 200,
      msg: '新增商品成功'
    })
  }).catch(err=> {
    res.send({
      code: 300,
      msg: '新增商品失败'
    })
  })
 
})
// 修改商品路由
router.post('/itemUpdate', (req, res) => {
  // 修改商品
  itemModel.updateOne(
    {
      _id: req.body._id
    },
    req.body
  ).then(ret =>{
    res.send({
      code: 200,
      msg: '修改成功'
    })
  }).catch(err=> {
    res.send({
      code: 300,
      msg: '修改失败'
    })
  })
})
// 删除商品
router.get('/deleteItem', (req, res) => {
  itemModel.deleteOne({
    _id: req.query._id
  }).then(ret=>{
    res.send({
      code: 200,
      msg: '删除成功'
    })
  }).catch(err=> {
    res.send({
      code: 300,
      msg: '删除失败'
    })
  })
})
module.exports = router;